package com.woniuxy.food.service;

import com.woniuxy.food.infra.model.FoodSku;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniuxy.food.service.servicedto.FoodSkuServiceDto;
import com.woniuxy.food.service.serviceparam.InsertFoodSkuServiceParam;
import com.woniuxy.food.service.serviceparam.SearchFoodSkuByConditionServiceParam;
import com.woniuxy.food.service.serviceparam.UpdateFoodSkuServiceParam;
import common.WoniuPage;

import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 菜品sku表 服务类
 * </p>
 *
 * @author 刘德华
 * @since 2023-07-19
 */
public interface FoodSkuService extends IService<FoodSku> {

    void insertFoodSku(InsertFoodSkuServiceParam insertFoodSkuServiceParam);

    void updateFoodSkuStateByIds(Integer storeId,Integer[] ids,String skuState);

    void updateFoodSku(UpdateFoodSkuServiceParam updateFoodSkuServiceParam);

    void updateFoodSkuSalesCount(Integer storeId,Integer skuId, Long salesCount);

    void updateFoodSkuDiscountPrice(Integer storeId,Integer skuId, BigDecimal discountPrice);

    void deleteFoodSkuByIds(Integer storeId,Integer[] ids);

    WoniuPage<FoodSkuServiceDto> searchFoodSkuByCondition(SearchFoodSkuByConditionServiceParam searchFoodSkuByConditionServiceParam);

    FoodSkuServiceDto searchFoodSkuByQQC(Integer[] ids);

    FoodSkuServiceDto searchFoodSkuById(Integer skuId);

    List<FoodSkuServiceDto> searchFoodSkuBySpuId(Integer storeId, Integer spuId);
}
